package com.jwsoft.manager.core.dao.mapper;

import com.jwsoft.manager.common.vo.eduHouse.EduHouseQueryVO;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.core.dao.model.EduHouse;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jwsoft.manager.core.dao.model.EduhHouse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* <p>
  *  Mapper 接口
  * </p>
*
* @author wangtao
* @since 2022-11-30
*/
@Mapper
public interface EduHouseMapper extends BaseMapper<EduHouse> {

    List<EduHouse> getHouseByAllIdcard(@Param("idcardList") List<String> idcardList, @Param("year")int year,@Param("status") String status,@Param("authStatus") String authStatus);

    List<EduhHouse> getHouseByAllIdcardHistory(@Param("idcardList") List<String> idcardList, @Param("year")int year,@Param("status") String status,@Param("authStatus") String authStatus);

    List<EduHouse> getUseList(@Param("year") int year, @Param("limitYear") int limitYear,@Param("areaCode") String areaCode,@Param("address") String address,@Param("realPropertyNum") String realPropertyNum);

    EduHouse getHouseById(@Param("houseId") String houseId);

    List<EduHouseVO> gethouseByPropertyNumAndIDcard(EduHouseQueryVO vo);

    /**
     * 根据年度查询房产数量
     * @param year
     * @return
     */
    Integer selectCountByYear(@Param("year")  Integer year);

    List<EduHouse> selectByYear(@Param("year") Integer year, @Param("pageSize") Integer pageSize);

    Integer deleteByTaskHistory(@Param("taskDetailId") String taskDetailId);

    Integer selectEncryptionCountByYear(@Param("year") Integer year, @Param("taskDetailId") String taskDetailId);

    List<EduhHouse> selectEncryptionByYear(@Param("year") Integer year, @Param("taskDetailId") String taskDetailId, @Param("pageSize") Integer pageSize);

    List<EduhHouse> queryHistoryCleanHouseWithEnroll(@Param("year") Integer year, @Param("taskDetailId") String taskDetailId);

    List<EduhHouse> queryCleanHouseWithEnroll(@Param("year") Integer year, @Param("taskDetailId") String taskDetailId);
}
